package com.ass.wechat.dao;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import com.ass.common.generated.model.WcGame;
import com.ass.common.generated.model.WcGameRound;




public interface GuessNumberDao {
	/**
	 * 保存游戏信息
	 * 
	 * @param request 请求对象
	 * @param game 游戏对象
	 * @return gameId
	 */
	public int saveGame(HttpServletRequest request, WcGame game);
	
	
	/**
	 * 获取用户最近一次创建的游戏 <br>
	 * 
	 * @param request 请求对象
	 * @param openId 用户的OpendID
	 * @return
	 */
	public WcGame getLastGame(HttpServletRequest request, String openId);
	
	
	/**
	 * 根据游戏id修改游戏状态和完成时间
	 * 
	 * @param request 请求对象
	 * @param gameId 游戏id
	 * @param gameStatus 游戏状态（00:游戏中 01:成功 02:失败 ）
	 * @param finishTime 游戏完成时间
	 */
	public void updateGame(HttpServletRequest request, int gameId, String gameStatus, String finishTime);
	
	
	/**
	 * 保存游戏的回合信息
	 * 
	 * @param request 请求对象
	 * @param gameRound 游戏回合对象
	 */
	public void saveGameRound(HttpServletRequest request, WcGameRound gameRound);
	
	
	/**
	 * 根据游戏id获取游戏的全部回合<br>
	 * 
	 * @param request 请求对象
	 * @param gameId 游戏id
	 * @return
	 */
	public List<WcGameRound> findAllRoundByGameId(HttpServletRequest request, int gameId);
	
	
	/**
	 * 获取用户的战绩
	 * 
	 * @param request 请求对象
	 * @param openId 用户的OpenID
	 * @return HashMap<Integer, Integer>
	 */
	public Map<String, String> getScoreByOpenId(HttpServletRequest request, String openId);
	
	/**
	 * 获得最近一次的答案  或者当前游戏
	 * @author wangt
	 * @time 2014年5月14日 上午8:32:02 
	 */
	public String getCurrentAnswer(String openId);
	
	
}
